package com.estate.common.core.domain.model.listing;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * 价格信息模型
 * 用于表示不同类型的价格信息（如：租金、售价等）
 *
 * @author estate
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class PriceInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 价格类型
     * 1: 租金类型
     * 2: 售价类型
     * 可根据业务需求扩展其他类型
     */
    private Integer type;

    /**
     * 价格数值
     * 使用String类型避免精度问题，格式如："500.00"
     */
    private String price;

    /**
     * 货币单位
     * 如："$", "¥", "€" 等
     */
    private String unit;

    /**
     * 计费周期（可选）
     * 如："月", "周", "年" 等
     * 对于一次性交易的价格，此字段可为空
     */
    private String period;
}